package com.hsylient.javase.chapter02.demo02.b;

import org.junit.Test;

public class TestAnonymousInnerClass {

    /**
     * 在这里直接使用了new 父类大括号同时重写了父类的方法
     * 其实相当与搞了一个子类去继承了父类 同时重写了父类的方法，然后创建了对象去调用
     */
    @Test
    public void testAnonymousInnerClass() {
        Father father = new Father() {
            @Override
            public void eat() {
                System.out.println("在这里重写了父类中的eat方法");
            }
        };
        father.eat();
    }

    @Test
    public void testAnonymousInnerClass2() {
        class Son extends Father {
            @Override
            public void eat() {
                System.out.println("创建了子类对象 同时去重写了eat方法。。。");
            }
        }

        Son son = new Son();
        son.eat();
    }
}
